package com.whfc.ms.api.sys.service;

import com.whfc.common.result.PageData;
import com.whfc.fuum.dto.SysAlgorithmTypeDTO;
import com.whfc.fuum.param.SysAlgorithmTypeAddParam;
import com.whfc.fuum.param.SysAlgorithmTypeEditParam;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author qzexing
 * @version 1.0
 * @date 2020-12-10 19:04
 */
public interface MsAlgorithmService {

    /**
     * 新增算法基础字典列表
     * @param  param
     * */
    void addAlgorithmType(SysAlgorithmTypeAddParam param);

    /**
     * 编辑算法基础字典
     * @param  param
     * */
    void editAlgorithmType(SysAlgorithmTypeEditParam param);


    /**
     * 启用/禁用算法基础字典
     * @param  id
     * @param  state
     * */
    void modifyAlgorithmState(Integer id, Integer state);

    /**
     * 逻辑删除算法基础字典
     * @param  id
     * */
    void deleteAlgorithmType(Integer id);


    /**
     * 获取算法基础字典列表 (分页)
     * @param  keyword
     * @param  state  启用/禁用参数
     * @param  pageNum
     * @param  pageSize
     * @Return
     * */
    PageData<SysAlgorithmTypeDTO> getAlgorithmTypeList(String keyword, Integer state, Integer pageNum, Integer pageSize);


    /**
     * 获取算法基础字典列表 (不分页)
     * @param  keyword
     * @param  state  启用/禁用参数
     * @Return
     * */
    List<SysAlgorithmTypeDTO> getAlgorithmTypeList(String keyword, Integer state);

    /**
     * 上传算法封面图片到阿里云
     * @param  file
     * @Return
     * */
    String uploadImg(MultipartFile file);

}
